package com.qiaofang.applet.service.property.service.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.util.List;

@Data
@ApiModel("新房查询条件DTO")
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class FirsthandEstateQueryDto {

    @ApiModelProperty("楼盘名称")
    private String estateName;

    @ApiModelProperty("城市")
    private String cityCode;

    @ApiModelProperty("区/县")
    private String areaCode;

    @ApiModelProperty("最大楼盘均价")
    private BigDecimal maxAveragePrice;

    @ApiModelProperty("最小楼盘均价")
    private BigDecimal minAveragePrice;

    @ApiModelProperty("最小面积")
    private BigDecimal minBuildingArea;

    @ApiModelProperty("最大面积")
    private BigDecimal maxBuildingArea;

    @ApiModelProperty("销售进度 1：待售、2：在售期房、3：在售现房、4：认筹中、5：尾盘、6：售罄")
    private String saleStatus;

    @ApiModelProperty("销售进度集合")
    private List<String> saleStatusList;

    @ApiModelProperty("是否主推：true:是 false:否")
    private Boolean recommend;

    @ApiModelProperty("物业类型 住宅|商铺|车位|商住|其它|网点|写字楼|厂房|写厂|铺厂|仓库|地皮|公寓")
    private List<String> propertyType;

    @ApiModelProperty("户型 1|2|3|4|5|6 6代表5室+")
    private List<String> houseType;

    @ApiModelProperty("1待开盘 默认为NULL")
    private String waitOpen;

    @ApiModelProperty("排序 0最新发布 7均价从低到高,8均价从高到低")
    private int sort;

    @ApiModelProperty("楼盘UUID集合")
    private List<String> estateUniqueUuids;

    @ApiModelProperty("排除楼盘UUUID集合")
    private List<String> notEstateUniqueUuids;

    @ApiModelProperty("经纪人UUID 排除已选的房源")
    private String employeeUniqueUuid;

    @ApiModelProperty("主题ID")
    private String topicId;

    @ApiModelProperty("集团编码")
    private String corporationCode;

    @ApiModelProperty(value = "上架/下架")
    private String upDownFlag;

    @ApiModelProperty(value = "即将开盘")
    private Boolean comingOpen;

    @ApiModelProperty("是否新房源")
    private Boolean newStatus;

    @ApiModelProperty("开盘时间")
    private Integer openDate;

    @ApiModelProperty("经纪人UUID 查询个人门店房源")
    private String uniqueUuid;

    @ApiModelProperty("最小总价")
    private BigDecimal minTotalPrice;

    @ApiModelProperty("最大总价")
    private BigDecimal maxTotalPrice;

    @ApiModelProperty("城市权限code集合")
    private List<String> cityCodes;

}
